/**
 * 数据源定义
 */
// ////////////////////////////////////////////////////////////////////////////////////////////////////
/**
 * 数据源定义
 */
// ////////////////////////////////////////////////////////////////////////////////////////////////////
var view_proxy = new Ext.data.HttpProxy({
			url : "msgview.do?method=find"
		});

var view_message = new Ext.data.Record.create([{
			name : 'id',
			mapping : 'ID'
		}, {
			name : 'telNo',
			mapping : 'telNo'
		}, {
			name : 'msg',
			mapping : 'msg'
		}, {
			name : 'sendedStaut',
			mapping : 'sendedStaut'
		}, {
			name : 'remarks',
			mapping : 'remarks'
		}]);

var view_reader = new Ext.data.JsonReader({
			totalProperty : 'totalProperty',
			root : 'root'
		}, view_message);

var view_store = new Ext.data.Store({
			proxy : view_proxy,
			reader : view_reader
		});

view_store.load({
			params : {
				start : 0,
				limit : 6
			}
		});

var view_cm = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(), {
			header : '收信人',
			dataIndex : 'telNo',
			width : 100
		}, {
			header : '短信内容',
			dataIndex : 'msg',
			width : 420
		}, {
			header : '发送状态',
			dataIndex : 'sendedStaut',
			width : 100,
			renderer : function(v) {
				
				if (!v) {
					return "待发送";
				} else {
					return "已发送";
				}
			}
		}]);

view_cm.defaultSortable = true;

var view_sm = new Ext.grid.RowSelectionModel({
			singleSelect : true,
			listeners : {
				selectionchange : function(sel) {
					var rec = sel.getSelected();
					if (rec) {
						Ext.getCmp('msg_view').body.update('<b><u>'
								+ rec.get('msg')
								+ '</u></b><br /><br />这里显示短信内容.');
					}
				}
			}
		});
// ////////////////////////////////////////////////////////////////////////////////////////////////////

var msgview = function(id) {

	Ext.QuickTips.init(); // 初始化提示信息

	var gird = new Ext.grid.GridPanel({
		region : 'center',
		id : 'topic-grid',
		store : view_store,
		cm : view_cm,
		sm : view_sm,
		trackMouseOver : false,
		loadMask : {
			msg : '加载中...'
		},
		viewConfig : {
			forceFit : true,// 当行大小变化时始终填充满
			enableRowBody : true,
			showPreview : true,
			getRowClass : function(record, rowIndex, p, ds) {
				if (this.showPreview) {
					p.body = '<p style="padding:5px;border:1px  #DFE8F6 solid;margin:2px;"><span style="color:#ff0000; font-weight:bold;">备注：</span>'
							+ record.data.remarks + '</p>';
					return 'x-grid3-row-expanded';
				}
				return 'x-grid3-row-collapsed';
			}
			// 可以用两行tr来表示一行
		},
		tbar : [{
			text : '查询',
			icon : 'extjs/resources/images/yourtheme/tree/drop-yes.gif',
			cls : 'x-btn-text-icon',
			tooltip : {
				title : '查询',
				text : '按输入条件查询'
			},
			handler : function() {
				var qryForm = new Ext.form.FormPanel({
					width : 300,
					height : 100,
					plain : true,
					layout : 'form',
					defaultType : 'textfield',
					labelWidth : 100,
					baseCls : 'x-plain',
					buttonAlign : 'center',
					bodyStyle : 'padding:6px',
					items : [{
								fieldLabel : '发信人',
								width : 160,
								id : "mv_sendernum",
								name : "txt_sendernum",
								maxLength : 11,
								maxLengthText : '输入字符过长'
							}, {
								fieldLabel : '发送状态',
								width : 160,
								id : 'mv_senderstaut',
								name : 'txt_senderstaut',
								maxLength : 12,
								maxLengthText : '输入字符过长'
							}],
					buttons : [{
						text : "确定",
						minWidth : 70,
						handler : function() {
							var mv_sendernum = Ext.get("mv_sendernum").dom.value;
							var mv_senderstaut = Ext.get("mv_senderstaut").dom.value;
							view_store.baseParams = {
								mv_sendernum : mv_sendernum,
								mv_senderstaut : mv_senderstaut
							};
							view_store.load({
										params : {
											start : 0,
											limit : 6
										}
									});
							qryWin.close();
						}
					}, {
						text : "取消",
						minWidth : 70,
						handler : function() {
							qryWin.close();
						}
					}]
				});
				var qryWin = new Ext.Window({
							title : "短信查询",
							plain : true,
							iconCls : "addicon",
							resizable : false,// 不可以随意改变大小
							draggable : true,// 是否可以拖动
							collapsible : true, // 允许缩放条
							closeAction : 'close',
							closable : true,
							buttonAlign : "center",
							bodyStyle : "padding:10px 0 0 10px",
							items : [qryForm]
						});
				qryWin.show();
			}
		}, '', {
			text : '清空',
			icon : 'extjs/resources/images/yourtheme/form/exclamation.gif',
			cls : 'x-btn-text-icon details',
			tooltip : {
				title : '清空',
				text : '清空所有信息'
			},
			handler : function() {
				Ext.Ajax.request({
					url : 'delete.do?method=deleteAll',
					method : 'post',
					
					success : function(response,opts) {
						view_store.reload();
						var respText = Ext.decode(response.responseText); // 吧字符串变为json格式
						var msg = respText.msg;
						Ext.MessageBox.alert('提示', msg, function() {
									view_store.reload();
									
								});
					},
					failure : function(response,opts) {
						var respText = Ext.util.JSON
								.decode(response.responseText); // 吧字符串变为json格式
						var msg = respText.msg;
						Ext.MessageBox.alert('提示', msg, function() {
									view_store.reload();
								});
					}
				});

			}
		}, '-', {
			text : '导出',
			icon : 'extjs/resources/images/yourtheme/tree/folder-open.gif',
			cls : 'x-btn-text-icon',
			tooltip : {
				title : '导出',
				text : '导出为文本文件'
			},
			handler : function() {
				alert('Not implemented.');
			}
		}, {
			text : '打印',
			iconCls : 'new-topic',
			tooltip : {
				title : '打印',
				text : '打印短信信息'
			},
			handler : function() {
				downloadViewData(grid);
			}
		}, '-', {
			pressed : true,
			enableToggle : true,
			iconCls : 'preview',
			text : '显示内容',
			tooltip : {
				title : '显示内容',
				text : '显示/隐藏 短信内容'
			},
			toggleHandler : function togglePreview(btn, pressed) {
				var preview = Ext.getCmp('msg_view');
				preview[pressed ? 'show' : 'hide']();
				preview.ownerCt.doLayout();
			}

		}, ' ', {
			pressed : true,
			enableToggle : true,
			iconCls : 'preview',
			text : '显示备注',
			toggleHandler : function toggleDetails(btn, pressed) {
				var view = Ext.getCmp('topic-grid').getView();
				view.showPreview = pressed;
				view.refresh();
			},
			tooltip : {
				title : '显示备注',
				text : '显示/隐藏备注信息'
			}
		}],
		bbar : new Ext.PagingToolbar({
					pageSize : 6,
					store : view_store,
					displayInfo : true,
					displayMsg : '本页显示第 {0}-{1} 条记录，共 {2} 条记录',
					emptyMsg : "没有可以显示的短信内容"
				})

	});

	var panel = new Ext.Panel({
		id : id,
		layout : 'border',
		title : '短信查看',
		items : [gird, {
					id : 'msg_view',
					region : 'south',
					height : 250,
					title : '短信内容',
					split : true,
					bodyStyle : 'padding: 10px; font-family: Arial; font-size: 12px;'
				}]

	});

	return panel;

};


